home *** CD-ROM | disk | FTP | other *** search
/ Aminet 24 / Aminet 24 (1998)(GTI - Schatztruhe)[!][Apr 1998].iso / Aminet / comm / mail / Mutt089src.lha / Mutt-0.89i-AMIGA / src / rx / rxanal.h < prev    next >
C/C++ Source or Header  |  1998-01-28  |  2KB  |  80 lines

  1. /* classes: h_files */
  2.  
  3. #ifndef RXANALH
  4. #define RXANALH
  5. /*    Copyright (C) 1995, 1996 Tom Lord
  6.  * 
  7.  * This program is free software; you can redistribute it and/or modify
  8.  * it under the terms of the GNU Library General Public License as published by
  9.  * the Free Software Foundation; either version 2, or (at your option)
  10.  * any later version.
  11.  * 
  12.  * This program is distributed in the hope that it will be useful,
  13.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15.  * GNU Library General Public License for more details.
  16.  * 
  17.  * You should have received a copy of the GNU Library General Public License
  18.  * along with this software; see the file COPYING.  If not, write to
  19.  * the Free Software Foundation, 59 Temple Place - Suite 330, 
  20.  * Boston, MA 02111-1307, USA. 
  21.  */
  22.  
  23.  
  24.  
  25. #include "rxcset.h"
  26. #include "rxnode.h"
  27. #include "rxsuper.h"
  28.  
  29.  
  30.  
  31.  
  32. enum rx_answers
  33. {
  34.   rx_yes = 0,
  35.   rx_no = 1,
  36.   rx_bogus = -1,
  37.   rx_start_state_with_too_many_futures = rx_bogus - 1
  38.   /* n < 0 -- error */
  39. };
  40.  
  41. struct rx_classical_system
  42. {
  43.   struct rx * rx;
  44.   struct rx_superstate * state;
  45.   int final_tag;
  46. };
  47.  
  48.  
  49.  
  50. #ifdef __STDC__
  51. extern int rx_posix_analyze_rexp (struct rexp_node *** subexps,
  52.                   size_t * re_nsub,
  53.                   struct rexp_node * node,
  54.                   int id);
  55. extern int rx_fill_in_fastmap (int cset_size, unsigned char * map, struct rexp_node * exp);
  56. extern int rx_is_anchored_p (struct rexp_node * exp);
  57. extern enum rx_answers rx_start_superstate (struct rx_classical_system * frame);
  58. extern enum rx_answers rx_fit_p (struct rx_classical_system * frame, unsigned const char * burst, int len);
  59. extern enum rx_answers rx_advance (struct rx_classical_system * frame, unsigned const char * burst, int len);
  60. extern int rx_advance_to_final (struct rx_classical_system * frame, unsigned const char * burst, int len);
  61. extern void rx_terminate_system (struct rx_classical_system * frame);
  62. extern void rx_init_system (struct rx_classical_system * frame, struct rx * rx);
  63.  
  64. #else /* STDC */
  65. extern int rx_posix_analyze_rexp ();
  66. extern int rx_fill_in_fastmap ();
  67. extern int rx_is_anchored_p ();
  68. extern enum rx_answers rx_start_superstate ();
  69. extern enum rx_answers rx_fit_p ();
  70. extern enum rx_answers rx_advance ();
  71. extern int rx_advance_to_final ();
  72. extern void rx_terminate_system ();
  73. extern void rx_init_system ();
  74.  
  75. #endif /* STDC */
  76.  
  77.  
  78.  
  79. #endif  /* RXANALH */
  80.